package suanfa;

public class longestPalindrome {
    public String longestPalindrome(String s) {
        int begin=0,len=0,n=s.length();
        //固定中间节点
        for(int i=0;i<n;i++){
            //先扩展奇数长度的字串
            int left=i,right=i;
            while(left>=0 && right<n && s.charAt(left)==s.charAt(right)){
                left--;
                right++;
            }
            if(right-left-1>len){
                begin=left+1;
                len=right-left-1;
            }
            //扩展偶数长度的字串
            left=i;
            right=i+1;
            while(left>=0 && right<n && s.charAt(left)==s.charAt(right)){
                left--;
                right++;
            }
            if(right-left-1>len){
                begin=left+1;
                len=right-left-1;
            }
        }
        return s.substring(begin,begin+len);
    }
}
